<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>书架案例</title>
</head>

<body>
    <!--
        key作用：
            给元素添加的唯一标识，便于vue 进行列表项的正确排序复用
        注意点：
            1，key的值只能是字符串或者数字类型
            2，key的值必须具有唯一性
            3.推荐使用id作为（唯一），不推荐使用 index 作为 key（会变化，不对应）
    -->
    <div id="app">
        <h1>小黑的书架</h1>
        <ul>
            <li v-for="item in bookList" :key="item.id">
                <span>{{ item.name }}</span>
                <span>{{item.author}}</span>
                <!-- 注册点击事件 -> 通过 id 进行删除数组中的 对应项 -->
                <button @click="del(item.id)">删除</button>
            </li>
        </ul>
        <button @click="recover()">恢复原本书架</button>
    </div>

    <script src="./script/vue.js"></script>
    <script>
        const app = new Vue({
            el: '#app',
            data: {
                bookList: [
                    { id: 1, name: '《红楼梦》', author: '曹雪芹' },
                    { id: 2, name: '《西游记》', author: '吴承恩' },
                    { id: 3, name: '《水浒传》', author: '施耐庵' },
                    { id: 4, name: '《三国演义》', author: '罗贯中' }
                ]
            },
            methods: {
                del(id) {
                    this.bookList = this.bookList.filter(item => item.id !== id)
                },
                recover() {
                    this.bookList = [
                        { id: 1, name: '《红楼梦》', author: '曹雪芹' },
                        { id: 2, name: '《西游记》', author: '吴承恩' },
                        { id: 3, name: '《水浒传》', author: '施耐庵' },
                        { id: 4, name: '《三国演义》', author: '罗贯中' }
                    ]
                }
            },
        })
    </script>
</body>

</html>